home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C++ / Applications / PICSee Dust 1.01 / Preferences source / PICS_DragPane.cpp < prev    next >
C/C++ Source or Header  |  1995-11-16  |  3KB  |  99 lines

  1. #include "PICS_PreferencesPanes.h"
  2.  
  3. enum {
  4.     // Drag 'n Drop pane
  5.     kDragPane_PlayOperationRadio = kPrefsDlog_LastItem,
  6.     kDragPane_CompositeOperationRadio,
  7.     kDragPane_SplitOperationRadio,
  8.     kDragPane_MergeOperationRadio,
  9.     
  10.     kDragPane_LineSeparator,
  11.     kDragPane_Box
  12. };
  13.  
  14. // ---------------------------------------------------------------------------
  15.  
  16. void PrefsDialogSetupDragPane(DialogPtr prefsDlog) {
  17.     short operation = (**sPrefsData->prefs).defaultOperation;
  18.  
  19.     switch(operation) {
  20.         case kPlayOperation:
  21.             SelectRadioBtn(prefsDlog, kDragPane_PlayOperationRadio,
  22.                 kDragPane_PlayOperationRadio,
  23.                 kDragPane_MergeOperationRadio);
  24.         break;
  25.  
  26.         case kCompositeOperation:
  27.             SelectRadioBtn(prefsDlog, kDragPane_CompositeOperationRadio,
  28.                 kDragPane_PlayOperationRadio,
  29.                 kDragPane_MergeOperationRadio);
  30.         break;
  31.  
  32.         case kSplitOperation:
  33.             SelectRadioBtn(prefsDlog, kDragPane_SplitOperationRadio,
  34.                 kDragPane_PlayOperationRadio,
  35.                 kDragPane_MergeOperationRadio);
  36.         break;
  37.  
  38.         case kMergeOperation:
  39.             SelectRadioBtn(prefsDlog, kDragPane_MergeOperationRadio,
  40.                 kDragPane_PlayOperationRadio,
  41.                 kDragPane_MergeOperationRadio);
  42.         break;
  43.     }
  44. } // END PrefsDialogSetupDragPane
  45.  
  46. // ---------------------------------------------------------------------------
  47.  
  48. Boolean PrefsDialogGetDragPaneSettings(DialogPtr prefsDlog) {
  49.     short operation;
  50.  
  51.     // Assumes kPlayOperation == 0
  52.     operation = GetRadioBtn(prefsDlog, kDragPane_PlayOperationRadio,
  53.         kDragPane_MergeOperationRadio) - kDragPane_PlayOperationRadio;
  54.     (**sPrefsData->prefs).defaultOperation = operation;
  55.  
  56.     return(true);
  57. } // END PrefsDialogGetDragPaneSettings
  58.  
  59. // ---------------------------------------------------------------------------
  60.  
  61. void PrefsDialogDragPaneHit(DialogPtr prefsDlog, short itemHit) {
  62.     switch(itemHit) {
  63.     case kDragPane_PlayOperationRadio:
  64.     case kDragPane_CompositeOperationRadio:
  65.     case kDragPane_SplitOperationRadio:
  66.     case kDragPane_MergeOperationRadio:
  67.         SelectRadioBtn(prefsDlog, itemHit,
  68.             kDragPane_PlayOperationRadio, kDragPane_MergeOperationRadio);
  69.     break;
  70.     }
  71. } // END PrefsDialogDragPaneHit
  72.  
  73. // ---------------------------------------------------------------------------
  74.  
  75. void PrefsDialogDragPaneUpdate(
  76.     DialogPtr prefsDlog,
  77.     EventRecord *theEvt,
  78.     Boolean frontMost) {
  79.  
  80.     Rect lineRect;
  81.     
  82.     GetDItemRect(prefsDlog, kDragPane_Box, &lineRect);
  83.     GrayDrawShadowBox(&lineRect, NULL);
  84.     
  85.     GetDItemRect(prefsDlog, kDragPane_LineSeparator, &lineRect);
  86.     GrayDrawShadowLine(&lineRect, NULL);
  87. } // END PrefsDialogDragPaneUpdate
  88.  
  89. // ---------------------------------------------------------------------------
  90.  
  91. void PrefsDialogDragPaneActivate(DialogPtr prefsDlog, Boolean activate) {
  92.     short hiliteMode = activate ? 0 : 255;
  93.     
  94.     for (short i = kDragPane_PlayOperationRadio;
  95.         i <= kDragPane_MergeOperationRadio; i++) {
  96.         HiliteControl((ControlHandle)GetDItemHdl(prefsDlog, i), hiliteMode);
  97.     }
  98. } // END PrefsDialogDragPaneActivate
  99.